
//2379.得到K个黑块的最少涂色次数
class Solution {
    public:
        int minimumRecolors(string blocks, int k) {
            int n=blocks.size();
            int left=0,right=0;
            int ret=INT_MAX,tmp=0;  //此处不能将ret取作0，因为在对ret取小的时候0会一直是最小的
            while(right<n)
            {
                //入窗口
                while(right-left<k)
                    if(blocks[right++]=='W') tmp++;
                
                //更新结果
                ret=min(ret,tmp);
    
                //出窗口
                if(blocks[left++]=='W') tmp--;
            }
            return ret;
        }
    };